全部文档

数据过滤器

View 2.0 支持用户自定义过滤器,用户可以自行写入javascript代码,借助过滤器实现数据结构转换、筛选和一些简单的计算。

当前暂不支持es6及更高版本的ECMAScript语法

当出现以下情况,您可能需要使用数据过滤器:

  1. 数据源的值与组件中格式不相同;

  2. 一个组件需要同时使用多个数据源;

点击数据过滤器,勾选复选框,启用数据过滤器功能。在代码编辑区填写您的代码。过滤器在使用之前会先进行代码安全监测,无法通过安全监测的过滤器将不能使用。

数据过滤器类型

View 2.0 包含两种类型的过滤器:

私有过滤器:每个组件各自拥有一个不影响其他组件的过滤器,且这个过滤器只能这个组件自己使用。

全局过滤器:可以设计一些每个组件都可选择是否使用的过滤器。这些过滤器一旦被修改,将影响到所有使用到它的组件。

过滤器传参

每个 View 2.0 过滤器都是一个javascript函数,我们预先定义了这个过滤器函数的两个参数datarootData:

data:当前组件选中的数据源数据

rootData:包含所有数据源数据的根对象

rootDataView 2.0 的数据源列表,它是一个以 数据源Id-数据值列表 为键值对 的对象,包含了该项目中所有的数据源,其中`、1staticDemo数据源 Id`,紧随其后的是该数据源的当前数据。

{
  "": [
    {
      "update_at": "2019-02-28 14:10:47",
      "id": "line2",
      "create_time": "2017-12-08 15:08:40",
      "current_value": 65,
      "at": "2019-02-28 14:10:47",
      "value": 65
    }
  ],
  "1": [
    {
      "create_time": "2017-11-22 14:21:15",
      "id": "map"
    }
  ],
  "staticDemo": [
    {
      "x": "2010/01/01 00:00:00",
      "y": 375,
      "s": "1"
    },
    {
      "x": "2010/01/01 00:00:00",
      "y": 180,
      "s": "2"
    },
    ...
  ]
}

以这个 View 2.0数据源列表为例。假设通过数据源选择下拉框选中的是`,则 参数data` 的值是

[
  {
    update_at: '2019-02-28 14:10:47',
    id: 'line2',
    create_time: '2017-12-08 15:08:40',
    current_value: 65,
    at: '2019-02-28 14:10:47',
    value: 65,
  },
];

results matching ""

    No results matching ""